package org.management.system.service;


import org.management.base.BaseService;
import org.management.system.entity.RoleEntity;
import org.management.system.entity.UserEntity;

/**
 * 功能描述
 * 用户接口类
 * @author jiangyan
 * @date 2019/03/14
 * @description
 * @project management
 */
public interface UserService extends BaseService<UserEntity> {

	 /**
	  * 根据用户名查询数据（用户名必须唯一）
	  * @param userName 用户名称
	  * @return UserEntity
	  */
	 UserEntity selectByUsername(String userName);
	 
     /**
      * 根据用户名和密码进行登录验证
      * @param name 用户名
      * @param password 密码
      * @return UserEntity
      */
	 UserEntity login(String name, String password);
	 
	/**
	 * 保存用户信息及相关联角色 
	 * @param id 用户ID
	 * @param roleIds 角色字符串集
	 */
	void saveUserWithRoles(String id, String roleIds);

	/**
	 * 给用户设置默认角色
	 * @param userId 用户ID
	 * @param roleId 角色ID
	 */
	void setDefaultRole(String userId, String roleId);
	
	/**
	 * 根据用户获取默认角色
	 * @param userId 用户ID
	 * @return UserRoleEntity
	 */
	RoleEntity getDefaultRole(String userId);
}
